//统一管理项目前部的接口
//引入二次封装的axios（带有请求、响应的拦截器)
import requests from './request'
import mockRequests from './mockAjax'
//三级联动接口
// /api/product/getBaseCategoryList  get  无参数

//封装函数:复用
//将来这个函数可以在别的地方使用,需要对外暴露【分别暴露】
//获取商品分类的数据

//箭头函数可以在程序任意地方使用,箭头函数返回即为服务器的数据
//下面箭头函数返回值：返回的是什么? promise,即为返回服务器的数据
//return关键字，千万别忘记书写，如果忘记书写，你在任意地方获取的都是undefined
//发请求:axios发请求返回结果为Promise对象
export const reqCategoryList = () => requests.get('/product/getBaseCategoryList')

//获取banner (Home首页轮播图接口）获取banner和floor的假数据
export const reqGetBannerList = () => mockRequests.get('/banner')

//获取floor数据
export const reqFloorList = () => mockRequests.get('/floor')
//获取搜索模块接口  /api/list  请求方式 post  需要带参数
/*{
  "category3Id":"61",
  "categoryName":"手机",
  "keyword":"小米",
  "order" : "1:desc",
  "pageNo": 1,
  "pagesize":10,
  "props": ["1:1700-2799:价格"，"2:6.65-6.74英寸:屏幕尺寸"],
  "trademark" :"4:小米"
}
*/
//当前这个接口（获取搜索模块的数据），给服务器传递一个默认参数【至少是一个空对象]
export const reqGetSearchInfo = params =>
  requests({
    url: '/list',
    method: 'post',
    data: params
  })

//获取产品详情信息的接口 URL: /api/item/{ skuId } 请求方式: get
export const reqGoodsInfo = skuId =>
  requests({
    url: `/item/${skuId}`,
    method: 'get'
  })
//将产品添加到购物车中（获取更新某一个产品的个数)
///api/cart/addToCart/{ skuId }/{ skuNum } POST
export const reqAddOrUpdateShopCart = (skuId, skuNum) => requests({ url: `/cart/addToCart/${skuId}/${skuNum}`, method: 'post' })
//获取购物车列表数据接口
//url:/api/cart/carList method:get
export const reqCartList = () => requests({ url: '/cart/cartList', method: 'get' })
//删除购物产品的接口
// URL: /api/cart/deleteCart/{skuId}method:DELETE
export const reqDeleteCartById = skuId => requests({ url: `/cart/deleteCart/${skuId}`, method: 'delete' })
//修改商品的选中状态
export const reqUpdateCheckedByid = (skuId, isChecked) => requests({ url: `/cart/checkCart/${skuId}/${isChecked}`, method: 'get' })
//获取验证码
//URL:/api/user/passport/sendCode/{phone} method: get
export const reqGetCode = phone => requests({ url: `/user/passport/sendCode/${phone}`, method: 'get' })
//注册
//url:/ api/user/passport/register method: post   phone code password
export const reqUserRegister = data => requests({ url: '/user/passport/register', data, method: 'post' })
//登录
//URL:/api/user/passport/login method: post phone password
export const reqUserLogin = data => requests({ url: '/user/passport/login', data, method: 'post' })
//获取用户信息【需要带着用户的token向服务器要用户信息】// URL :/api/user/passport/auth/getUserInfo  method:get
export const reqUserInfo = () => requests({ url: '/user/passport/auth/getUserInfo', method: 'get' })
//退出登录
//URL:/api/user/passport/logout get
export const reqLogout = () => requests({ url: '/user/passport/logout', method: 'get' })
//获取用户地址信息
//URL:/api/user/userAddress/auth/findUserAddressList method:get
export const reqAddressInfo = () => requests({ url: '/user/userAddress/auth/findUserAddressList', method: 'get' })
//获取商品清单
//URL:/ api/order/auth/trade method:get
export const reqOrderInfo = () => requests({ url: '/order/auth/trade', method: 'get' })
//提交订单接口
//URL:/api/order/auth/submitOrder?tradeNo={tradeNo}  method:post
export const reqSubmitOrder = (tradeNo, data) => requests({ url: `/order/auth/submitOrder?tradeNo=${tradeNo}`, data, method: 'post' })
//获取支付信息
//URL:/api/payment/weixin/createNative/{orderId} GET
export const reqPayInfo = orderId => requests({ url: `/payment/weixin/createNative/${orderId}`, method: 'get' })
//查询支付结果
export const reqPayStatus = orderId => requests({ url: `/payment/weixin/queryPayStatus/${orderId}`, method: 'get' })
//获取个人中心的数据
// api/order/auth/{page}/{limit}  get
export const reqMyOrderList = (page, limit) => requests({ url: `/order/auth/${page}/${limit}`, method: 'get' })
